<?php

class Application_Model_PlanoSaudeUsuario extends Zend_Db_Table_Abstract {

    protected $_name = 'ps_pessoa';
    protected $_primary = array('pessoa','plano_saude');
    protected $_dependentTables = array('');
    private static $instance;

    public static function getInstance() {
        if (!isset(self::$instance)) {
            self::$instance = new Application_Model_PlanoSaudeUsuario();
            return self::$instance;
        }
        return self::$instance;
    }

    public function insere($data,$codigo){
        
        if(is_array($data) && count($data) > 0){
            foreach ($data['plano_saude'] as $value) {
                if(isset($codigo) && isset($value)){
                    $obj['plano_saude'] = $value;
                    $obj['pessoa'] = $codigo;
                    parent::insert($obj);
                }
            }
            
        }
    }
    
    public function update($data,$usuario){
        $this->removeByPessoa($usuario);
        
        foreach ($data as $value) {
            $obj['plano_saude'] = $value;
            $obj['pessoa'] = $usuario;
            parent::insert($obj);
        }
        
    }
    
    public function getListByPessoa($pessoa){
        $sql = 'select p.codigo, p.descricao
                from ps_pessoa ps
                join plano_saude p on p.codigo = ps.plano_saude
                where ps.pessoa ='.$pessoa;
        return $this->getAdapter()->query($sql)->fetchAll();
    }
    
    public function getByPessoa($id){
        return $this->fetchAll("pessoa = " . $id);
    }
    
    public function removeByPessoa($id){
        parent::delete("pessoa =" . $id);
    }
 
    public function getQntUsuarioByPlanoSaude($planoSaude){
        $sql = 'select count(pessoa)as qnt from ps_pessoa where plano_saude = ' .$planoSaude;
        return $this->getAdapter()->fetchRow($sql);
    }
}